/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.dealer.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 串号查询Entity
 * @author jyangye
 * @version 2018-01-24
 */
public class ViDeaWarehousesnquery extends DataEntity<ViDeaWarehousesnquery> {
	
	private static final long serialVersionUID = 1L;
	private String snid;		// 串码编号ID
	private String boxnumber;		// 包装盒代码
	private String currentwarehouseid;		// 当前仓库
	private String waresid;		// 商品编号
	private String snstate;		// 串码状态
	private Date lastchangedate;		// 最近操作时间
	private String ismodelmachine;		// 是否展示机
	private String isbadmachine;		// 是否坏机
	private String meid;		// meid
	private String imei2;		// 第二串码
	private String backsourcewarehouseid;		// 回溯仓库ID
	private String protouseemployeeid;		// 原员工ID
	private Date inwarehousedate;		// 入库时间
	private String inwarehouseid;		// 入库仓库
	private Date lastretaildate;		// 最近零售时间
	private String lastretailhandleremployeeid;		// 最近零售员工ID
	private Date electronicregistrytime;		// 电子保卡注册时间
	private Date lastdispatchdate;		// 最近发货时间
	private Date beginLastchangedate;		// 开始 最近操作时间
	private Date endLastchangedate;		// 结束 最近操作时间
	private Date beginInwarehousedate;		// 开始 入库时间
	private Date endInwarehousedate;		// 结束 入库时间
	private Date beginLastretaildate;		// 开始 最近零售时间
	private Date endLastretaildate;		// 结束 最近零售时间
	private Date beginElectronicregistrytime;		// 开始 电子保卡注册时间
	private Date endElectronicregistrytime;		// 结束 电子保卡注册时间
	private Date beginLastdispatchdate;		// 开始 最近发货时间
	private Date endLastdispatchdate;		// 结束 最近发货时间


    private VivoWares wares;
    private VivoWarehouse warehouse;
	
	public ViDeaWarehousesnquery() {
		super();
	}

	public ViDeaWarehousesnquery(String id){
		super(id);
	}

	@Length(min=1, max=32, message="串码编号ID长度必须介于 1 和 32 之间")
	@ExcelField(title="串码编号ID", align=2, sort=20)
	public String getSnid() {
		return snid;
	}

	public void setSnid(String snid) {
		this.snid = snid;
	}
	
	@Length(min=0, max=32, message="包装盒代码长度必须介于 0 和 32 之间")
	@ExcelField(title="包装盒代码", align=2, sort=30)
	public String getBoxnumber() {
		return boxnumber;
	}

	public void setBoxnumber(String boxnumber) {
		this.boxnumber = boxnumber;
	}
	
	@Length(min=0, max=11, message="当前仓库长度必须介于 0 和 11 之间")
	@ExcelField(title="当前仓库", align=2, sort=40)
	public String getCurrentwarehouseid() {
		return currentwarehouseid;
	}

	public void setCurrentwarehouseid(String currentwarehouseid) {
		this.currentwarehouseid = currentwarehouseid;
	}
	
	@Length(min=0, max=11, message="商品编号长度必须介于 0 和 11 之间")
	@ExcelField(title="商品编号", align=2, sort=50)
	public String getWaresid() {
		return waresid;
	}

	public void setWaresid(String waresid) {
		this.waresid = waresid;
	}
	
	@Length(min=0, max=6, message="串码状态长度必须介于 0 和 6 之间")
	@ExcelField(title="串码状态", align=2, sort=60)
	public String getSnstate() {
		return snstate;
	}

	public void setSnstate(String snstate) {
		this.snstate = snstate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="最近操作时间", align=2, sort=70)
	public Date getLastchangedate() {
		return lastchangedate;
	}

	public void setLastchangedate(Date lastchangedate) {
		this.lastchangedate = lastchangedate;
	}
	
	@Length(min=0, max=1, message="是否展示机长度必须介于 0 和 1 之间")
	@ExcelField(title="是否展示机", align=2, sort=80)
	public String getIsmodelmachine() {
		return ismodelmachine;
	}

	public void setIsmodelmachine(String ismodelmachine) {
		this.ismodelmachine = ismodelmachine;
	}
	
	@Length(min=0, max=1, message="是否坏机长度必须介于 0 和 1 之间")
	@ExcelField(title="是否坏机", align=2, sort=90)
	public String getIsbadmachine() {
		return isbadmachine;
	}

	public void setIsbadmachine(String isbadmachine) {
		this.isbadmachine = isbadmachine;
	}
	
	@Length(min=0, max=16, message="meid长度必须介于 0 和 16 之间")
	@ExcelField(title="meid", align=2, sort=100)
	public String getMeid() {
		return meid;
	}

	public void setMeid(String meid) {
		this.meid = meid;
	}
	
	@Length(min=0, max=16, message="第二串码长度必须介于 0 和 16 之间")
	@ExcelField(title="第二串码", align=2, sort=110)
	public String getImei2() {
		return imei2;
	}

	public void setImei2(String imei2) {
		this.imei2 = imei2;
	}
	
	@Length(min=0, max=11, message="回溯仓库ID长度必须介于 0 和 11 之间")
	@ExcelField(title="回溯仓库ID", align=2, sort=120)
	public String getBacksourcewarehouseid() {
		return backsourcewarehouseid;
	}

	public void setBacksourcewarehouseid(String backsourcewarehouseid) {
		this.backsourcewarehouseid = backsourcewarehouseid;
	}
	
	@Length(min=0, max=32, message="原员工ID长度必须介于 0 和 32 之间")
	@ExcelField(title="原员工ID", align=2, sort=130)
	public String getProtouseemployeeid() {
		return protouseemployeeid;
	}

	public void setProtouseemployeeid(String protouseemployeeid) {
		this.protouseemployeeid = protouseemployeeid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="入库时间", align=2, sort=140)
	public Date getInwarehousedate() {
		return inwarehousedate;
	}

	public void setInwarehousedate(Date inwarehousedate) {
		this.inwarehousedate = inwarehousedate;
	}
	
	@Length(min=0, max=11, message="入库仓库长度必须介于 0 和 11 之间")
	@ExcelField(title="入库仓库", align=2, sort=150)
	public String getInwarehouseid() {
		return inwarehouseid;
	}

	public void setInwarehouseid(String inwarehouseid) {
		this.inwarehouseid = inwarehouseid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="最近零售时间", align=2, sort=160)
	public Date getLastretaildate() {
		return lastretaildate;
	}

	public void setLastretaildate(Date lastretaildate) {
		this.lastretaildate = lastretaildate;
	}
	
	@Length(min=0, max=32, message="最近零售员工ID长度必须介于 0 和 32 之间")
	@ExcelField(title="最近零售员工ID", align=2, sort=170)
	public String getLastretailhandleremployeeid() {
		return lastretailhandleremployeeid;
	}

	public void setLastretailhandleremployeeid(String lastretailhandleremployeeid) {
		this.lastretailhandleremployeeid = lastretailhandleremployeeid;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="电子保卡注册时间", align=2, sort=180)
	public Date getElectronicregistrytime() {
		return electronicregistrytime;
	}

	public void setElectronicregistrytime(Date electronicregistrytime) {
		this.electronicregistrytime = electronicregistrytime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="最近发货时间", align=2, sort=190)
	public Date getLastdispatchdate() {
		return lastdispatchdate;
	}

	public void setLastdispatchdate(Date lastdispatchdate) {
		this.lastdispatchdate = lastdispatchdate;
	}
	
	public Date getBeginLastchangedate() {
		return beginLastchangedate;
	}

	public void setBeginLastchangedate(Date beginLastchangedate) {
		this.beginLastchangedate = beginLastchangedate;
	}
	
	public Date getEndLastchangedate() {
		return endLastchangedate;
	}

	public void setEndLastchangedate(Date endLastchangedate) {
		this.endLastchangedate = endLastchangedate;
	}
		
	public Date getBeginInwarehousedate() {
		return beginInwarehousedate;
	}

	public void setBeginInwarehousedate(Date beginInwarehousedate) {
		this.beginInwarehousedate = beginInwarehousedate;
	}
	
	public Date getEndInwarehousedate() {
		return endInwarehousedate;
	}

	public void setEndInwarehousedate(Date endInwarehousedate) {
		this.endInwarehousedate = endInwarehousedate;
	}
		
	public Date getBeginLastretaildate() {
		return beginLastretaildate;
	}

	public void setBeginLastretaildate(Date beginLastretaildate) {
		this.beginLastretaildate = beginLastretaildate;
	}
	
	public Date getEndLastretaildate() {
		return endLastretaildate;
	}

	public void setEndLastretaildate(Date endLastretaildate) {
		this.endLastretaildate = endLastretaildate;
	}
		
	public Date getBeginElectronicregistrytime() {
		return beginElectronicregistrytime;
	}

	public void setBeginElectronicregistrytime(Date beginElectronicregistrytime) {
		this.beginElectronicregistrytime = beginElectronicregistrytime;
	}
	
	public Date getEndElectronicregistrytime() {
		return endElectronicregistrytime;
	}

	public void setEndElectronicregistrytime(Date endElectronicregistrytime) {
		this.endElectronicregistrytime = endElectronicregistrytime;
	}
		
	public Date getBeginLastdispatchdate() {
		return beginLastdispatchdate;
	}

	public void setBeginLastdispatchdate(Date beginLastdispatchdate) {
		this.beginLastdispatchdate = beginLastdispatchdate;
	}
	
	public Date getEndLastdispatchdate() {
		return endLastdispatchdate;
	}

	public void setEndLastdispatchdate(Date endLastdispatchdate) {
		this.endLastdispatchdate = endLastdispatchdate;
	}


    public VivoWares getWares() {
        return wares;
    }

    public void setWares(VivoWares wares) {
        this.wares = wares;
    }

    public VivoWarehouse getWarehouse() {
        return warehouse;
    }

    public void setWarehouse(VivoWarehouse warehouse) {
        this.warehouse = warehouse;
    }
}